/* Exception */
object test2 {
	def main():Unit = { 
	  println((new ExceptionTest()).initMyVar(5));
	}
}

class ExceptionTest {
	def initMyVar(myVar2:Int):Int throws ToolException = {
	    try {
	    } catch (e : ToolException) {
	    }
	    
		try {
		  //println("try");
		} catch(e: ToolException) {
		  println("catch");
		} finally {
		  println("finally");
		  /*
		  try {
		    println("internal try");
		    //throw new ToolException().setMessage("tool exception");
		  } catch (e : ToolException) {
		    println("catch " + e.getMessage());
		  } finally {
		    println("nested finally");
		  }*/
		}
		
		try {
		  println("try2");
		  throw new ToolException();
		} finally {
		  println("finally2");
		}

		return myVar2;
	}
}